#ifndef __STRINGEX_H__
#define __STRINGEX_H__

#include <string>
#include <vector>
#include <list>

class StringEx
{
public:
    static std::string Format(const char* format, ...);

    static bool IsEmptyOrWhiteSpace(const std::string& str);
    static std::string& Trim(std::string &str);  
    static std::vector<std::string> Split(const std::string& str, const std::string& delim, bool removeEmpty = true, bool trim = true);
    
    static std::string Join(const std::list<std::string>& strs, const std::string& delim);
    static std::string Join(const std::vector<std::string>& strs, const std::string& delim);
};

#endif // __STRINGEX_H__
